在C语言中如何正确使用结构体的“typedef”?

您所在的位置:网站首页 typedef struct studnode 在C语言中如何正确使用结构体的“typedef”?

在C语言中如何正确使用结构体的“typedef”?

#在C语言中如何正确使用结构体的“typedef”? | 来源: 网络整理| 查看: 265

这两个typedef声明之间的区别

typedef struct tnode TNODE; struct tnode { int count; TNODE *left, *right; }; TNODE s, *sp;

以及

typedef struct { int a; int b; } ab_t;

在第二种情况下,你声明了一个未命名的结构。这意味着在这个结构中你不能引用它自己。例如,你不能写

typede struct { int count; TNODE *left, *right; } TNODE;

因为这个成员声明中使用的名称TNODE

TNODE *left, *right;

尚未申报。但是,如果structure标记具有类似于以下的名称,则可以引用该结构

struct tnode { int count; struct tnode *left, *right; };

因为名称struct tnode已经声明。另一个不同之处是,声明指向结构的指针不需要有结构的完整定义,也就是说,你可以写

typedef struct tnode TNODE; TNODE *sp; struct tnode { int count; TNODE *left, *right; };

注意,你也可以用下面的方法编写typedef声明

struct tnode { int count; struct tnode *left, *right; } typedef TNODE;


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3